There exists a variety of processes, such as work processes in organization or manufacturing processes for manufacturing or assembling devices. Processes can be described by using process models. Processes are modeled using different kinds of process modelling languages. An example for a process modelling language is the unified model language (UML). Processes can also be described by event-driven process chains (EPC).
One of the most popular process modelling language denotes the Event-driven Process Chain (EPC) modelling language. It has gained a broad acceptance and popularity both in research and in practice. An EPC Model is a directed and connected graph whose nodes are events, functions and logical connectors which are connected by control flow arcs. Functions represent the time consuming elements by performing tasks on process objects (e.g. the task “Define” is performed on the Process Object “Software Requirements”). Each function has exactly one ingoing and one outgoing arc. Further, a function transforms a process object from an initial state into a resulting state captured by events that represent the passive elements. The state information is also bound to a text phrase (e.g. “Requirements Defined”). Each event has at most one ingoing and at most one outgoing arc. A connector can be either an AND-, an OR-, or an XOR-connector. A connector has multiple ingoing arcs and one outgoing arc (join), or it has one ingoing arc and multiple outgoing arcs (a split).
In organizations processes are described by comprehensive process designs. A business process is a set of coordinated activities, conducted by technical resources, with the objective to achieve a specific goal. Process designs are represented as process models in a particular modelling language, usually depicted by a graph of activities and their causal dependencies.
Besides a documentation of existing processes, the design of process models may have several, additional motivations that can be classified into motivations that accomplish the organizational design or the development of information technology systems. Process descriptions support process design by enabling the identification of flaws in existing processes, by optimizing and by monitoring existing processes. Concerning the design of an IT-Infrastructure, process models play an important role for the specification and configuration of software systems. Another important role denotes the usage for workflow management systems wherein process models specify executable workflows.
Hence, process models are input for semantic analysis activities that address organizational or information technology aspects. Semantic analysis activities comprise the comparison of process models, the calculation of process model metrics, the extraction of a common sense process vocabulary and queries on process models.
The comparison of process models is a semantic analysis activity which addresses the identification of similar or equal process activities in process descriptions. Model comparisons can be used to specify a metric that defines a similarity measure between reference processes and organizational specific processes, for example. Reference processes describe common or best practice process solutions. Further, the comparison of process models enables to identify structural analogies in process models that may be an indicator for process patterns.
The calculation of process model metrics is performed to calculate model metrics which can be used to determine a process model quality by calculating a measure that determines the complexity. The model complexity can be defined by a number of logical connectors, a number of different activities, relationships between input and output objects, or a number of different roles associated with process activities.
In large organizations, the design of process models is realized by a number of process modelers. This implies a certain subjectivism concerning the naming of activities and information objects by using synonyms, not standardized abbreviations, for example.
Current approaches mainly provide a document-based representation of process patterns, meaning that an effective use is difficult. An informal representation is suitable to understand the rationale behind a pattern but does not allow any automation concerning the finding and selecting of appropriate patterns or applying them. For that reason, an informal description can be enriched with a formal representation of used vocabulary by following an ontology-based approach. This combination makes process patterns understandable for both, stakeholders and machines.
A formalized pattern description facilitates an automated retrieval of common practice solutions for achieving desired business goals and to develop tools for intelligent reasoning over process patterns. A problem solved by a process pattern can be interpreted in the sense of how to achieve a defined process goal. Usually, the identification and design of process models is derived from the goals or objectives of an enterprise, because the processes are a means to achieve the goals. However, when using the EPC modelling language for process description, process goals are not explicitly modelled in practice. Hence, process goals must be extracted retroactively from given EPC models. Further, process goals are not isolated items within a goal space. In general, goals are organized in terms of a taxonomy which decomposes goals into a set of subgoals each has assigned at least one pattern solution.
Hence, commonly known methods are not able to provide a proven pattern solution, also referred to as common modelling pattern, to achieve a business goal. Common modelling patterns may be considered as candidates for a best practice solution for achieving a certain goal. Identifying a best practice solution without an automated provision of common modelling patterns requires an evaluation by process experts, which is of great effort and may deliver unreliable results.